/**  
 * All rights Reserved, Designed By www.woniuxy.com
 * @Title:  Account.java   
 * @Package com.woniu.domain   
 * @Description:    Description  
 * @author: 蜗牛学院  
 * @date:   2019年10月14日 上午11:14:56
 * @user:   Administrator  
 * @version V1.0 
 * @Copyright: 2019 www.woniuxy.com Inc. All rights reserved. 
 * 注意：本内容仅限于成都蜗牛创想科技有限公司，禁止外泄以及用于其他的商业目
 */ 
package com.moon.aop;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * @author Administrator
 *
 */
@Component
@Aspect
public class Aop {
	@Pointcut("execution(* com.moon.service.*.*delete*(..))")
	public void pointcut1() {
		
	}
	
	@Pointcut("execution(* com.moon.service.*.*update*(..))")
	public void pointcut2() {
		
	}
	
	@Around("pointcut1() || pointcut2()")
	public Object around(ProceedingJoinPoint pointcut) throws Throwable {
		String log = pointcut.getSignature().getName();		
		System.out.println("监控逻辑执行前-"+log);
		Object obj = pointcut.proceed();//执行原业务方法
		System.out.println("监控逻辑执行后-"+log);		
		return obj;
	}
}
